Currently, the monitoring of a set of database connections for inactivity in a multi-threaded environment is done by submitting multiple get clock requests (i.e., time requests). These multiple get clock requests result in additional processing overhead since processing resources are consumed by each request. As a result, the processing overhead may be measurable when the multiple get clock requests are used in a high performance environment and therefore, may negatively impact performance.
Conversely, when switching to a shared counter architecture, the overhead of getting clock counters may be reduced since only a single thread is needed to obtain the current clock time. However, as the system approaches higher utilization, the accuracy of the result degrades which may result in early timeout of operations.